package com.Logistics.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.Logistics.entity.OrderCargo;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class OrderVo implements Serializable {

    private static final long serialVersionUID = 1L;

    // 订单编号
    private String id;

    //订单类型，1为同城订单，2为城际订单
    private Integer orderType;

    //运单编号
    private String transportId;

    // 下单时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    // 订单状态
    private Integer status;

    // 预计到达时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime estimatedArrivalTime;

    // 发货方姓名
    private String senderName;

    // 发货方省份id
    private String senderProvinceId;

    // 发货方省份名称
    private String senderProvinceName;

    // 发货方城市id
    private String senderCityId;

    // 发货方城市名称
    private String senderCityName;

    // 发货方区县id
    private String senderCountyId;

    // 发货方区县名称
    private String senderCountyName;

    // 发货方电话
    private String senderPhone;

    // 发货方详细地址
    private String senderAddress;

    // 收件方姓名
    private String receiverName;

    // 收件方省份id
    private String receiverProvinceId;

    // 收件方省份名称
    private String receiverProvinceName;

    // 收件方城市id
    private String receiverCityId;

    // 收件方城市名称
    private String receiverCityName;

    // 收件方区县id
    private String receiverCountyId;

    // 收件方区县名称
    private String receiverCountyName;

    // 收件方电话
    private String receiverPhone;

    // 收件方详细地址
    private String receiverAddress;

    //距离
    private BigDecimal distance;

    // 运费
    private Long amount;

    // 支付方式
    private Integer paymentMethod;

    // 付款状态
    private Integer paymentStatus;

    // 货品信息
    private List<OrderCargo> orderCargo;

    //订单货品总数量
    private Integer totalQuantityOfOrderedGoods;

    // 当前所在网点
    private String currentAgencyId;

    //取件类型，1为同城订单，2为城际订单
    private Integer pickupType;


}
